package edu.cgpi.view;

import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.util.HashSet;
import java.util.Set;

import javax.swing.BorderFactory;
import javax.swing.JPanel;

import edu.cgpi.core.entidade.Cor;
import edu.cgpi.core.entidade.Ponto;
import edu.cgpi.core.entidade.grafico.Ponto2D;
import edu.cgpi.core.util.Desenhista;

public class PainelClipping extends JPanel {

	private static final long serialVersionUID = -178848144886363336L;

	private Set<Ponto> pontos;

	public PainelClipping() {
		pontos = new HashSet<Ponto>();
		GerenciadorUI.getInstance().setPainelClipping(this);
		this.inicializar();
	}

	public Set<Ponto> getPontos() {
		return pontos;
	}

	public void setPontos(Set<Ponto> pontos) {
		this.pontos = pontos;
	}

	public void inicializar() {
		this.setBorder(BorderFactory.createLineBorder(Color.GREEN));
		this.setMinimumSize(new Dimension(200, 200));
		this.setMaximumSize(new Dimension(200, 200));
	}

	@Override
	public void paintComponent(Graphics g) {
		super.paintComponent(g);
		Desenhista desenhista = new Desenhista();
		for (Ponto ponto : pontos) {
			Ponto2D ponto2D = new Ponto2D(ponto, new Cor(Color.BLACK));
			desenhista.desenhar(ponto2D, g);
		}
	}
}